// BEM 规范定义
$namespace:'self' !default;
$block-sel:'-' !default;
$elem-sel:'__' !default;
$mod-sel:'--' !default;

// 创建：self-xxa
// 传入：xxa
@mixin b($block) {
    $B:#{$namespace+$block-sel+$block};

    .#{$B} {
        @content;
    }
}

// 创建：self-xxx__xxb
// 传入：xxb
@mixin e($el) {
    $selector: &;

    @at-root {
        #{$selector + $elem-sel + $el} {
            @content;
        }
    }
}

// 创建：self-xxx__xxx--xxc
// 传入：xxc
@mixin m($m) {
    $selector: &;

    @at-root {
        #{$selector + $mod-sel + $m} {
            @content;
        }
    }
}